/// 调试嵌套播放列表解析
// 移除所有未使用的导入
// use std::sync::Arc;
// use videoDownloader::{
//     config::DownloadConfigBuilder,
//     downloader::DownloaderFactory,
//     progress::ProgressReporterFactory,
//     retry::RetryStrategyFactory,
//     playlist::Segment,
// };
use reqwest::Client;
// use videoDownloader::playlist::Segment;  // 移除未使用的导入

#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
    println!("🧪 调试嵌套播放列表解析");
    
    // 测试URL
    let test_url = "https://vip.lz-cdn3.com/20220826/12057_20ebbfce/index.m3u8";
    
    // 创建HTTP客户端
    let client = Client::new();
    
    // 下载第一层播放列表
    println!("📥 下载第一层播放列表: {}", test_url);
    let response = client.get(test_url).send().await?;
    let content = response.text().await?;
    
    println!("📋 第一层播放列表内容:");
    println!("{}", content);
    
    // 查找嵌套的m3u8 URL
    let nested_url = "https://vip.lz-cdn3.com/20220826/12057_20ebbfce/1000k/hls/mixed.m3u8";
    
    // 下载第二层播放列表
    println!("\n📥 下载第二层播放列表: {}", nested_url);
    let response2 = client.get(nested_url).send().await?;
    let content2 = response2.text().await?;
    
    println!("📋 第二层播放列表内容:");
    println!("{}", content2);
    
    // 查找实际的TS分片URL
    let lines: Vec<&str> = content2.lines().collect();
    println!("\n🔍 查找TS分片URL:");
    for (i, line) in lines.iter().enumerate() {
        if !line.starts_with("#") && !line.is_empty() {
            println!("   分片 {}: {}", i, line);
        }
    }
    
    Ok(())
}